With continuous popularization of cloud concept, a layered architecture of an application program and an infrastructure management is widely applied to a solution requiring dynamic resource allocation. The architecture can be divided into three layers, which respectively are an application layer on the top layer, an infrastructure management layer in the middle and a physical resource layer on the bottom layer. Particularly, the application program on the top layer applies virtual resources to the infrastructure management layer, so as to guarantee the running of the application program, which needs one or more virtual resources. The infrastructure management layer selects suitable physical resources, and establishes virtual resources on the selected physical resources, for providing to the application program. Because it is required to support dynamic resource allocation, the application program is not aware of being deployed to which specific physical devices. However, whether different virtual resources are deployed on the same physical resource, it has great effects on quality attributes, such as the reliability and performance of born service. For example, two virtual resources deployed to the same physical resource can achieve the most efficient communication, and the application program has higher running efficiency; two virtual resources deployed to different physical resources can achieve the best failure isolation, and the application program has higher reliability, that is, two virtual resources will not break down at the same time due to failure of one host.
Running of the application program can be measured with two dimensions, i.e., isolation and affinity. Generally speaking, the higher the isolation between the two virtual resources is, the lower the affinity is, and it means that its supporting application program has higher reliability. Conversely, the higher the affinity is, the lower the isolation is, and it means that cooperation between virtual resources becomes closer, and its supporting application program can achieve higher service performance.
In the prior art, the infrastructure management layer can provide separate deployment or non-separate deployment to the application program on the top layer, regarding a application program which requires both the isolation and the affinity to be considered, for example, a telecom system with an advanced telecom computing architecture (Advanced Telecom Computing Architecture, ATCA) standard hardware architecture, the deployment requirement is that not only a certain isolation should be guaranteed, but also a certain affinity should be taken into account, however, the infrastructure management layer fails to provide a deployment policy which takes into account both the isolation and the affinity, and cannot satisfy the deployment requirement of the application program.